Software products such as operating systems and application programs often contain materials that are protected under copyright law, which grants the author of a piece of original work (e.g., software code) exclusive rights over the usage and distribution of the work. To obtain a copy of a software product from a vendor who owns rights to that software product, a user typically enters into a license agreement with the vendor, which governs how the user may use and/or distribute the software product. For example, the license agreement may restrict the number of times a user can install the software and/or the number of computers on which the software can be installed.
An “activation” process is often completed when an attempt is made to install a copy of a software product. This process may be designed to determine whether the copy is authorized for installation (e.g., whether the copy was legitimately purchased by the user) and/or whether the installation is in compliance with one or more applicable license agreements (e.g., whether the user has exceeded a maximum number of permitted installations). Some conventional software activation techniques use a “product key,” which is a piece of information made available to a user when the user legitimately purchases or otherwise legitimately obtains a copy of a software product.
The product key is typically tied to a single edition of software. For example, where a software product is offered in multiple editions (e.g., professional and home editions), the product key allows the user to install only the edition unlocked by the product key. During the activation process, the user provides the product key, which when accepted or validated, gives the user permission to complete the installation. Thus, the copy of the software product acquired by the user is installed on the user's computer. However, if the product key does not match the copy of the software product acquired by the user, then the installation is not allowed to continue, and the user must acquire the appropriate edition of software that matches the product key in order to complete the installation properly.
Each edition of the software product, which is enabled by a corresponding product key, has a separate installation program offering different sets of features within the installed program. Thus, a home or more basic edition of a software product that has a different set of features in its installed program than a professional or more advanced edition of the software product will correspondingly have a different installation program than the professional edition. Some of the features between the editions may overlap, but others may only be offered in their respective edition. To offer a third edition offering yet another distinct set of features than those offered by the home or professional editions, a third installation program is required to install the appropriate features. Accordingly, under such a scenario, even a slight change in the number of offered features in one edition versus another causes a new product key/installation program pair to be created.